package cn.core.coding.service.intf;

import cn.core.coding.eo.DbTableConf;
import cn.core.coding.qo.DbTableConfQO;
import cn.core.coding.vo.DbTableConfVO;
import cn.core.tool.util.Paging;
import cn.core.tool.util.Param;

import java.util.Collection;

/**
 * 数据库表配置 服务接口
 */
public interface IDbTableConfService {

  /**
   * 数据库表配置 >>> 保存
   */
  public DbTableConf save(DbTableConf eo) throws Exception;

  /**
   * 数据库表配置 >>> 批量保存
   */
  public Collection<DbTableConf> saveBatch(Collection<DbTableConf> eos) throws Exception;

  /**
   * 数据库表配置 >>> 修改
   */
  public DbTableConf update(DbTableConf eo) throws Exception;

  /**
   * 数据库表配置 >>> 批量修改
   */
  public Collection<DbTableConf> updateBatch(Collection<DbTableConf> eos) throws Exception;

  /**
   * 数据库表配置 >>> 删除
   */
  public void remove(DbTableConf eo) throws Exception;

  /**
   * 数据库表配置 >>> 批量删除
   */
  public void removeBatch(Collection<DbTableConf> eos) throws Exception;

  /**
   * 数据库表配置 >>> 数据量
   */
  public Long count(DbTableConfQO qo) throws Exception;

  /**
   * 数据库表配置 >>> 主键查询
   */
  public DbTableConf pk(DbTableConfQO qo) throws Exception;

  /**
   * 数据库表配置 >>> 查询
   */
  public Collection<DbTableConf> query(DbTableConfQO qo) throws Exception;

  /**
   * 数据库表配置 >>> 分页
   */
  public Paging<DbTableConf> paging(Param<DbTableConfQO> param) throws Exception;

  /**
   * 数据库表配置 >>> 业务数据量
   */
  public Long countVo(DbTableConfQO qo) throws Exception;

  /**
   * 数据库表配置 >>> 业务主键查询
   */
  public DbTableConfVO pkVo(DbTableConfQO qo) throws Exception;

  /**
   * 数据库表配置 >>> 业务查询
   */
  public Collection<DbTableConfVO> queryVo(DbTableConfQO qo) throws Exception;

  /**
   * 数据库表配置 >>> 业务分页
   */
  public Paging<DbTableConfVO> pagingVo(Param<DbTableConfQO> param) throws Exception;

}
